﻿using Common.Enum;
using System.ComponentModel.DataAnnotations;

namespace Entity.ERP.DTO.PurchaseArriveOrder
{
    /// <summary>
    /// 采购到货单模型 - 更新
    /// </summary>
    public class PurchaseArriveOrderUpdateDTO
    {
        /// <summary>
        /// 采购到货单 ID
        /// </summary>
        [Required(ErrorMessage = "采购到货单Id不能为空")]
        public string Id { get; set; }

        /// <summary>
        /// 采购到货单编码
        /// </summary>
        [Required(ErrorMessage = "采购到货单编码Code不能为空")]
        public string Code { get; set; }

        /// <summary>
        /// 流转卡号
        /// </summary>
        [Required(ErrorMessage = "流转卡号CardNo不能为空")]
        public string CardNo { get; set; }

        /// <summary>
        /// 供应商 ID
        /// </summary>
        [Required(ErrorMessage = "供应商SupplierId不能为空")]
        public string SupplierId { get; set; }

        /// <summary>
        /// 计划到货时间
        /// </summary>
        [Required(ErrorMessage = "计划到货时间PlanArriveTime不能为空")]
        public DateTime PlanArriveTime { get; set; }

        /// <summary>
        /// 实际到货时间
        /// </summary>
        public DateTime? ActualArriveTime { get; set; }

        /// <summary>
        /// 单据状态
        /// </summary>
        [Required(ErrorMessage = "单据状态Status不能为空")]
        public StateEnum.PurchaseType Status { get; set; }

        /// <summary>
        /// 审核状态
        /// </summary>
        [Required(ErrorMessage = "审核状态ExamStatus不能为空")]
        public StateEnum.ExamStatus ExamStatus { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        public string? Remark { get; set; }

        /// <summary>
        /// 附件
        /// </summary>
        public string? File { get; set; }
    }
}
